#pragma once

#include <vector>

typedef int id_type;


class rBuffer
{
public:
	rBuffer(void);
	rBuffer(const rBuffer & from);
	~rBuffer(void);

	void operator=(const rBuffer & from);

	id_type getId() const;
	void setId(id_type);

	void MoveTo(unsigned int x, unsigned int y);
	void Resize(unsigned int w, unsigned int h);

	id_type getX() const;
	id_type getY() const;
	id_type getW() const;
	id_type getH() const;

	unsigned int getStreamPosition() const;
	void setStreamPosition(unsigned int);

	id_type getStreamId() const;
	void setStreamId(id_type);

private:
	id_type pID;
	id_type pStreamId;

	unsigned int pStreamPosition;
	
	unsigned int pX;
	unsigned int pY;
	unsigned int pW;
	unsigned int pH;

	std::vector<rBuffer*> pChilds;

};

